Remote Protocols

Firefox supports several remote protocols, which allow to inspect and control the browser, usually for automation purposes:

Common documentation

The following documentation pages apply to all remote protocols

Protocols

Marionette

Marionette is used both by internal tools and testing solutions, but also by geckodriver to implement the WebDriver (HTTP) specification. The documentation for Marionette can be found under testing/marionette.

WebDriver BiDi

The WebDriver BiDi specification extends WebDriver HTTP to add bidirectional communication.

Architecture

Message Handler

The documentation for the framework used to build WebDriver BiDi modules can be found at remote/messagehandler.

Bugs

Bugs are tracked under the Remote Protocol product.

Communication

See Communication on our project wiki.